The present application relates to programming code. More specifically, the present application relates to a computerized system and methodology to identify and isolate intentionally obfuscated library code and modules in software applications.
There are many computer software languages that include library modules within their source code that perform functions when called in an executing software application. For example, computer applications written in JAVA® software code, such as the Android operating system, are distributed with a set of library modules, especially with the software development kits provided to third party application programmers. The library code modules allow programmers simple access to the functionality inherent in the modules' programming language without needing to spend time to recreate the functionality in a new program.
Some programmers and software application vendors use open source or other existing library code but then intentionally obfuscate the modules of the application and library code, rendering them indistinguishable from each other. Once the application and library code have been obfuscated, it is very hard to distinguish the library code from the application code.